home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 142 / Gekkan Dennou Club - 2000.3 Vol. 142 (Japan).7z / Gekkan Dennou Club - 2000.3 Vol. 142 (Japan) (Track 1).bin / tools / s_tool / jx270t / vjx270.s < prev    next >
Text File  |  1999-06-11  |  12KB  |  672 lines

  1.     .include    TNB.MAC
  2.     .include    IOCSCALL.MAC
  3.     .include    DOSCALL.MAC
  4.     .include    target.mac
  5.  
  6.  
  7. VER equ '0.40'
  8.  
  9.  
  10. HEAD1 = 'STRD'
  11. HEAD2 = VER
  12.  
  13.  
  14. *--------------------------------
  15. BUFSIZE        equ    256
  16.  
  17. TCALL        macro    ent
  18.         move.w    #ent,d1
  19.         jsr    (a5)
  20.         endm
  21.  
  22. StartStatio:*******************常駐部
  23. SS:
  24.     .dc.l    -1
  25.     .dc.w    $8000.w
  26.     .dc.l    STRR
  27.     .dc.l    ETYP
  28. dhead:    .dc.l    HEAD1,HEAD2
  29. STRA5:    .dc.l    $0.l
  30. STRR:    move.l    a5,STRA5
  31.     rts
  32. ETYP:
  33.     movem.l    d0/a5,-(a7)
  34.     movea.l    STRA5(pc),a5
  35.     bsr    ETYPSUB
  36.     move.b    d0,$3(a5)
  37.     lsr.w    #8,d0
  38.     move.b    d0,$4(a5)
  39.     movem.l    (a7)+,d0/a5
  40.     rts
  41. ETYPSUB:
  42.     tst.b    $2(a5)
  43.     beq    ETYP_KEEP
  44.     move.w    #$5003,d0    *err
  45.     rts
  46.  
  47.     *********************************************
  48. head:
  49.     .dc.l    HEAD1
  50.     .dc.l    HEAD2
  51.     .even
  52.  
  53.  
  54. *********************************************
  55. *
  56. *    Target 用ルーチン
  57. *
  58. *********************************************
  59. ScsiVect:
  60.     .dc.l    0
  61.  
  62. scsi_vect_table:
  63.     .ds.l    32
  64.     .even
  65.  
  66. *************
  67. *     Sub
  68. **************
  69. _checkmin:
  70.     cmp.b    4(a1),d3
  71.     bcs    _mind3
  72.     move.b    4(a1),d3
  73. _mind3:
  74.     rts
  75. blocktoadr:
  76.     lea    _base_add(pc),a1
  77.     movea.l    (a1),a1
  78.     add.l    d0,a1
  79.     rts
  80. _get_adr:
  81.     moveq    #9,d2
  82.     moveq    #0,d0
  83.     move.l    (a1),d0
  84.     andi.l    #$001FFFFF,d0
  85.     lsl.l    d2,d0        * x512
  86.     moveq    #0,d3
  87.     move.b    4(a1),d3    * blocks
  88.     lsl.l    d2,d3        * x512
  89.     rts
  90. _e_getadr:
  91.     moveq    #9,d2
  92.     move.l    2(a1),d0
  93.     lsl.l    d2,d0        * x512
  94.     moveq    #0,d3
  95.     move.b    7(a1),d3    * blocks
  96.     lsl.w    #8,d3
  97.     move.b    8(a1),d3    * blocks
  98.     lsl.l    d2,d3        * x512
  99.     rts
  100. *************************************
  101. *    SEND
  102. *************************************
  103. T_SEND:
  104. T_READ:
  105.     movea.l    ScsiVect(pc),a5
  106.     tst.b    5(a1)
  107.     bne    ERRCALL        * コントロールバイトがある
  108.  
  109.     move.b    7(a1),d3    * blocks
  110.     lsl.w    #8,d3
  111.     move.b    8(a1),d3    * blocks
  112.  
  113.     lea    _base_add(pc),a1
  114.     tst.w    SWC_D
  115.     bne    1f
  116.     *--- DMA
  117.     TCALL    _TS_DATAIN
  118. T_ALL:
  119.     tst.l    d0
  120.     bne    ERRRETRY    * BUSY にしておこう
  121.     moveq    #0,d2
  122.     TCALL    _TS_STMSE    * ステイタス & メッセージ & バスフリー
  123.     rts
  124. 1:    *--- MPU
  125.     TCALL    _TS_DATAIN_P
  126.     bra    T_ALL
  127.  
  128. *************************************
  129. *    SETWINDOW
  130. *************************************
  131. T_SET_W:
  132.     movea.l    ScsiVect(pc),a5
  133.     tst.b    5(a1)
  134.     bne    ERRCALL        * コントロールバイトがある
  135.  
  136.     move.b    7(a1),d3    * blocks
  137.     lsl.w    #8,d3
  138.     move.b    8(a1),d3    * blocks
  139.  
  140.     lea    _base_add(pc),a1
  141.     tst.w    SWC_D
  142.     bne    1f
  143.     *--- DMA
  144.     TCALL    _TS_DATAOUT
  145.     bra    T_ALL
  146. 1:    *--- MPU
  147.     TCALL    _TS_DATAOUT_P
  148.     bra    T_ALL
  149.  
  150. *************************************
  151. *    0
  152. *************************************
  153. T_RELEASE:
  154. T_RESERVE:
  155. T_TESTUNIT:
  156. T_SCAN:
  157. T_SEND_D:
  158.     movea.l    ScsiVect(pc),a5
  159.     tst.b    5(a1)
  160.     bne    ERRCALL        * コントロールバイトがある
  161.     moveq    #$00,d2        *
  162.     TCALL    _TS_STMSE    * ステイタス & メッセージ & バスフリー
  163.     rts
  164.  
  165.  
  166. *************************************
  167. *    INQUIRY
  168. *************************************
  169. T_INQUIRY:
  170.     movea.l    ScsiVect(pc),a5
  171.     tst.b    5(a1)
  172.     bne    ERRCALL        * コントロールバイトがある
  173.     moveq.l    #96,d3
  174.     bsr    _checkmin    * 返すバイト数を調整
  175.     lea.l    INQU_DAT(pc),a1    * 返すデータ
  176.     TCALL    _TS_DATAIN_P    * データを送る
  177.     tst.l    d0
  178.     bne    ERRRETRY    * BUSY にしておこう
  179.     moveq    #$00,d2        *
  180.     TCALL    _TS_STMSE    * ステイタス & メッセージ & バスフリー
  181.     rts
  182.  
  183.     *********** INQUIRY データ
  184. INQU_DAT:
  185.     .dc.b    $06,$80,$02,$42,$5B,$00,$00,$00,$53,$48,$41,$52,$50,$20,$20,$20 *    ...B[...SHARP   
  186.     .dc.b    $4A,$58,$32,$37,$30,$20,$53,$43,$53,$49,$20,$20,$20,$20,$20,$20 *    JX270 SCSI      
  187.     .dc.b    $42,$31,$32,$54,$20,$04,$08,$E7,$03,$20,$03,$20,$03,$20,$03,$20 *    B12T .... . . . 
  188.     .dc.b    $00,$00,$D9,$14,$FA,$00,$04,$04,$02,$08,$08,$08,$C0,$D0,$80,$05 *    ..ル.........タミ..
  189.     .dc.b    $01,$01,$02,$03,$04,$05,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 *    ................
  190.     .dc.b    $00,$09,$F6,$0D,$B3,$00,$00,$00,$00,$01,$90,$03,$00,$00,$00,$00 *    ....ウ...........
  191.     .dc.b    $00,$00,$00,$00,$00,$00,$00,$3E,$00,$00,$00,$00,$00,$00,$00,$00 *    .......>........
  192.     .dc.b    $00,$0A,$00,$00,$00,$0A,$00,$00,$27,$F0,$00,$00,$36,$F0,$00,$00 *    ........'...6...
  193.     .dc.b    $00,$05,$08,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 *    ................
  194.     .dc.b    $FF,$09,$00,$00,$00,$00,$E8,$01,$E0,$78,$00,$00,$00,$00,$00,$00 *    .........x......
  195.     .dc.b    $00,$40,$00,$00,$00,$00
  196.     .even
  197.  
  198. ****************************************
  199. *    DATA I/O でエラーなど、
  200. *    リトライして欲しい場合
  201. ****************************************
  202. ERRRETRY:
  203.     moveq    #8,d2        *
  204.     TCALL    _TS_STSIN1    * ステイタス 8 (BUSY)
  205.     moveq    #0,d2        *
  206.     TCALL    _TS_MSGIN1    * メッセージ 0
  207.     TCALL    _TS_RELEASE    * とにかく バスフリーにして終わり
  208.     move.l    #$0006_00_00,d2    * d2 = KEY*0x10000 + ASC*0x100 + ASCQ
  209.     TCALL    _TS_SETSENSEKEY
  210.     rts
  211.  
  212. ERRCALL:
  213.     moveq    #2,d2        *
  214.     TCALL    _TS_STSIN1    * ステイタス 2 (Cond.CHK)
  215.     moveq    #0,d2        *
  216.     TCALL    _TS_MSGIN1    * メッセージ 0
  217.     TCALL    _TS_RELEASE    * とにかく バスフリーにして終わり
  218.     move.l    #$0005_24_00,d2    * d2 = KEY*0x10000 + ASC*0x100 + ASCQ
  219.     TCALL    _TS_SETSENSEKEY
  220.     rts
  221.  
  222.  
  223. __COM__:
  224.  
  225. ID:
  226.     .dc.l    $0000_0007
  227.  
  228.  
  229. SWC_D:    .dc.w    0                * 1;MPU 転送
  230.  
  231. SWC_P:    .dc.w    0                * 1;PCM 疑似アクセス音
  232.  
  233. HIM:    .dc.w    0                * 1;HIMEM DISK
  234.  
  235. BLKNM:    .dc.l    1                * 確保 MEMサイズ
  236.  
  237.  
  238. StaMod:    .dc.b    0
  239.     .even
  240.  
  241. _base_add:
  242.     .ds.b    4096
  243.  
  244.  
  245.  
  246. __COM__S:
  247.  
  248. _base_address:
  249.  
  250. EndStatio:*******************常駐部
  251.  
  252.  
  253. MarkerChk:*----------------------------------------
  254.     *    a0 アドレス
  255.     *
  256.     *[戻り値] bne ちがう
  257.     *      beq あっている
  258.     cmpa.l    #$F0000000,a0
  259.     bcc    @f
  260.     cmp.l    #HEAD1,(a0)
  261.     bne    @f
  262.     cmp.l    #HEAD2,4(a0)
  263.     bne    @f
  264.     cmpa.l    a0,a0        *z=1
  265. @@:
  266.     rts
  267.  
  268.  
  269. InvChk:*----------------------------------------
  270.     *    a0.l==なら非常駐
  271.     *    a0.l!=なら常駐
  272.     movea.l    (a0),a0            *一つ前のポインタ
  273.     cmpa.l    #$F0000000,a0
  274.     bcc    IC1
  275.     cmp.l    #HEAD1,$0100+(head-SS)(a0)
  276.     bne    @f
  277.     cmp.l    #HEAD2,$0104+(head-SS)(a0)
  278.     bne    @f
  279.     adda.l    #$100,a0    **[SS]のポインタ
  280.     rts
  281. @@:                    **違う
  282.     tst.l    (a0)            *一つ前のポインタ
  283.     bne    InvChk            *0でない(上へ)
  284. IC1:    sub.l    a0,a0    *非常駐
  285.     rts
  286. DevChk:*----------------------------------------
  287.     *    a0.l==なら非常駐
  288.     *    a0.l!=なら常駐
  289.     movea.l    #$6800,a0
  290. DC1:    cmp.l    #'NUL ',(a0)
  291.     bne    @f
  292.     cmp.l    #'    ',4(a0)
  293.     bne    @f
  294.     bra    DC4
  295. @@:
  296.     addq.l    #2,a0
  297.     bra    DC1    *絶対あるはず。。
  298. DC4:
  299.     move.l    d0,-(sp)
  300.     suba.l    #(dhead-SS),a0    *リンクポインタ
  301. DC2:    movea.l    (a0),a0
  302.     move.l    a0,d0
  303.     bmi    DC3
  304.     cmp.l    #HEAD1,(dhead-SS)(a0)
  305.     bne    DC2
  306.     cmp.l    #HEAD2,(dhead-SS)+4(a0)
  307.     bne    DC2
  308.     cmp.l    #HEAD1,(head-SS)(a0)
  309.     bne    DC2
  310.     cmp.l    #HEAD2,(head-SS)+4(a0)
  311.     bne    DC2
  312.     *あった
  313.     move.l    (sp)+,d0
  314.     rts
  315. DC3:
  316.     move.l    (sp)+,d0
  317.     sub.l    a0,a0    *非常駐
  318.     rts
  319.  
  320.  
  321. AtoI:*----------------------------------------
  322.     *    a2 アドレス
  323.     *[戻り値] d0.l 数字
  324.     moveq    #0,d0
  325.     move.b    (a2),d2
  326.     cmpi.b    #'$',d2
  327.     jbeq    AtoHI
  328. @@:    move.b    (a2)+,d2
  329.     subi.b    #'0',d2
  330.     jbcs    AIr
  331.     cmpi.b    #9,d2
  332.     jbhi    AIr
  333.     andi.l    #$0000FF,d2
  334.     mulu    #10,d0
  335.     add.l    d2,d0
  336.     jbra    @b
  337. AIr:    subq    #1,a2
  338.     rts
  339. AtoHI:
  340.     *(Hex専用)
  341.     move.b    (a2)+,d2    *$ skip
  342. @@:    move.b    (a2)+,d2
  343.     subi.b    #'0',d2
  344.     jbcs    AHIL1
  345.     cmpi.b    #9,d2
  346.     jbhi    AHIL1
  347.     lsl.l    #4,d0
  348.     add.l    d2,d0
  349.     jbra    @b
  350. AHIL1:
  351.     ori.b    #$20,d2
  352.     subi.b    #'a'-'0',d2
  353.     jbcs    AHIL2
  354.     cmpi.b    #5,d2
  355.     jbhi    AHIL2
  356.     lsl.l    #4,d0
  357.     addi.l    #10,d0
  358.     add.l    d2,d0
  359.     jbra    @b
  360. AHIL2:    subq    #1,a2
  361.     rts
  362.  
  363.  
  364. clcf:    .dc.w    0
  365. cmdlinchk:*------------------------------------------------------------------
  366.     *    in a2 = 文字列
  367.     *    out d0.b    0   ; OK
  368.     *            -1  ; LINEERR
  369.     *            -2  ; COMDERR
  370.     *            -100; その他
  371.     *            'h' ; -?
  372.     *            'h' ; -H
  373.     *            'r' ; -R
  374.     *
  375.     clr.w    clcf
  376.     bra    sw
  377. cmdlinchkD:    ** DEVICE エントリ用
  378.     move.w    #-1,clcf
  379. sw:    move.b    (a2)+,d0
  380.     bne    1f
  381.     *======終わり?
  382.     tst.w    clcf
  383.     bne    @f
  384.     *======COMLINE からなので終わり
  385.     moveq    #0,d0
  386.     rts
  387. @@:    *====== DEVICE
  388.     move.b    (a2),d0
  389.     bne    sw
  390.     moveq    #0,d0    * 0が連続なので終わり
  391.     rts
  392. 1:
  393.     cmpi.b    #' ',d0
  394.     beq    sw
  395.     cmpi.b    #$09,d0        *tab
  396.     beq    sw
  397.     cmpi.b    #'-',d0
  398.     beq    swc
  399.     cmpi.b    #'/',d0
  400.     beq    swc
  401. swe:    *======コマンドラインが異常
  402.     moveq    #-1,d0
  403.     rts
  404. swc:
  405.     *======スイッチ判断
  406.     move.b    (a2)+,d0
  407.     beq    swe
  408.     cmpi.b    #'?',d0
  409.     bne    @f
  410.     moveq    #'h',d0
  411.     rts
  412. @@:
  413.     ori.b    #$20,d0    *小文字化!
  414.     cmpi.b    #'r',d0
  415.     beq    clcrts
  416. @@:
  417.     moveq    #-2,d0
  418. clcrts:
  419.     rts
  420.  
  421.  
  422. ETYP_KEEP:*----------------------------------------
  423.         **常駐!
  424.     movem.l    d1-d7/a0-a6,-(sp)
  425.  
  426.     suba.l    a3,a3
  427.  
  428.     Print    CRLF(pc)
  429.     Print    LR1(pc)
  430.  
  431.     movea.l    18(a5),a2
  432. @@:    move.b    (a2)+,d0        **ファイル名スキップ
  433.     bne    @b
  434.  
  435.     bsr    cmdlinchkD        *a2 に文字列もって bsr
  436.  
  437.     tst.b    d0
  438.     bne    @f
  439.     bsr    keepdisp
  440.     tst.l    d0
  441.     bne    EK_ERR
  442.     Print    LR2(pc)
  443.     move.b    #-1,StaMod
  444.     move.l    #EndStatio,d0
  445.     move.l    d0,$e(a5)
  446.     movem.l    (sp)+,d1-d7/a0-a6
  447.     moveq    #$0,d0
  448.     rts
  449. @@:
  450.     cmpi.b    #-100,d0
  451.     beq    EK_ERR
  452.     cmpi.b    #-1,d0
  453.     bne    @f
  454.     Print    LR6(pc)
  455.     bra    EK_ERR
  456. @@:
  457.     Print    LR7(pc)
  458. EK_ERR:
  459.     movem.l    (sp)+,d1-d7/a0-a6
  460.     move.w    #$700d,d0
  461.     rts
  462.  
  463.  
  464. init:*------------------------------------------------------------------
  465.     Print    LR1(pc)
  466.  
  467.     ** 常駐チェック **
  468.     suba.l    a1,a1
  469.     SUPER
  470.     movea.l    d0,a1
  471.  
  472.     moveq    #0,d1
  473.     bsr    InvChk
  474.     move.l    a0,d0
  475.     bne    @f
  476.     bsr    DevChk
  477. @@:    movea.l    a0,a3            *常駐先頭アドレス
  478.  
  479.                     *d1に常駐状態
  480.     ** 常駐していたらそのデータを引用 **
  481.     move.l    a3,d0
  482.     beq    conl
  483.  
  484.     lea    __COM__-SS(a3),a0
  485.     lea    __COM__,a6
  486.     move.l    #(__COM__S-__COM__)/2-1,d0
  487. @@:    move.w    (a0)+,(a6)+
  488.     dbra    d0,@b
  489.  
  490. conl:
  491.     tst.b    (a2)+            *スキップ
  492.     bsr    cmdlinchk        *a2 に文字列もって bsr
  493.  
  494.     tst.b    d0
  495.     bne    1f
  496.     bra    keep
  497. 1:
  498.     cmpi.b    #-100,d0
  499.     bne    @f
  500.     DOS    _EXIT
  501. @@:
  502.     cmpi.b    #-1,d0
  503.     bne    @f
  504.     pea    LR6(pc)
  505.     bra    PE    *end
  506. @@:
  507.     cmpi.b    #'r',d0
  508.     beq    free
  509.     cmpi.b    #'h',d0
  510.     beq    help
  511.     pea    LR7(pc)            * -2 もここだ!
  512.     bra    PE    *end
  513. help:
  514.     pea    LRH(pc)
  515.     bra    PE    *end
  516.  
  517. keep:    ************************** 常駐させる
  518.     move.l    a3,d0
  519.     beq    keepL1
  520.         *既に常駐、設定変更
  521.  
  522. *    lea    __COM__-SS(a3),a0
  523. *    lea    __COM__,a6
  524. *    move.l    #(__COM__S-__COM__)/2-1,d0
  525. *@@:    move.w    (a6)+,(a0)+
  526. *    dbra    d0,@b
  527.  
  528. *    move.w    MC(pc),d0
  529. *    bne    @f
  530.     pea    LR5(pc)
  531.     bra    PE    *end
  532. *@@:    pea    LR5_(pc)
  533. *    bra    PE    *end
  534. keepL1:
  535.     **セット
  536.      bsr    keepdisp
  537.     tst.l    d0
  538.     beq    @f
  539.     DOS    _EXIT
  540. @@:
  541.     Print    LR2(pc)
  542.     Print    LRKP(pc)
  543.     clr.w    -(sp)
  544.     move.l    #EndStatio-StartStatio,d0
  545.     move.l    d0,-(sp)
  546.     DOS    _KEEPPR
  547.  
  548. keepdisp:***************
  549.     *===== SCSI-TAI 登録
  550.     TSCSI    _TARGETCHECK
  551.     cmpi.l    #-3,d0
  552.     bne    keepdisp_L1
  553.  
  554.     movem.l    d0/d7/a0-a2,-(sp)
  555.  
  556.     TSCSI    _TS_WORKADR
  557.     move.l    d0,a1
  558.     move.l    28(a1),d0
  559.     move.l    d0,ScsiVect
  560.  
  561.     lea    scsi_command_table(pc),a0
  562.     lea    scsi_vect_table(pc),a2
  563.     moveq.l    #9-1,d7
  564. @@:
  565.     move.l    (a0)+,d2
  566.     move.l    (a0)+,a1
  567.     TSCSI    _TS_CMDSET
  568.     move.l    d0,(a2)+
  569.     dbra    d7,@b
  570.  
  571.     movem.l    (sp)+,d0/d7/a0-a2
  572. keepdisp_L1:
  573.     *--- 自分の ID を記憶
  574.     move.b    $ed0070,d0
  575.     andi.l    #$0007,d0
  576.     move.l    d0,ID
  577.     moveq    #0,d0
  578.     rts
  579.  
  580. free:    *****************************常駐解除
  581.     move.l    a3,d0
  582.     bne    @f
  583.     pea    LR8(pc)        **非常駐
  584.     bra    PE    *end
  585. @@:
  586.     tst.b    StaMod
  587.     beq    @f
  588.     pea    LRCN(pc)    **CONFIG常駐
  589.     bra    PE    *end
  590. @@:
  591.     TSCSI    $1F
  592.     cmpi.l    #-1,d0
  593.     beq    free_L1
  594.  
  595.     lea    scsi_command_table(pc),a0
  596.     lea    (scsi_vect_table-SS)(a3),a2
  597.     moveq.l    #9-1,d7
  598. @@:
  599.     move.l    (a0)+,d2
  600.     addq.l    #4,a0
  601.     move.l    (a2)+,a1
  602.     TSCSI    _TS_CMDSET
  603.     dbra    d7,@b
  604.  
  605.     moveq    #0,d2
  606.     move.l    (a2)+,a1
  607.     TSCSI    _TS_SETPAGE
  608. free_L1:
  609.     sub.l    #$00000F0,a3
  610.     move.l    a3,-(sp)
  611.     DOS    _MFREE
  612.     addq.l    #4,sp
  613.  
  614.     pea    LR3(pc)
  615. PE:    DOS    _PRINT
  616.     addq.l    #4,sp
  617.     DOS    _EXIT
  618.  
  619.  
  620.  
  621.     *------------------------------------------*
  622.  
  623. scsi_command_table:
  624.     .dc.l    $12,T_INQUIRY
  625.     .dc.l    $28,T_READ
  626.     .dc.l    $17,T_RELEASE
  627.     .dc.l    $16,T_RESERVE
  628.  
  629.     .dc.l    $1b,T_SCAN
  630.     .dc.l    $1d,T_SEND_D
  631.     .dc.l    $24,T_SET_W
  632.     .dc.l    $00,T_TESTUNIT
  633.     .dc.l    $2a,T_SEND
  634.     *.dc.l    $03,T_REQUEST
  635.  
  636.     *------------------------------------------*
  637.  
  638. MC:    .dc.w    0    *モードをいじった
  639. LR2:    .dc.b    ' SCSI-VIRTUAL JX270 が使えます。',$0d,$0a,0
  640. LRKP:    .dc.b    ' 常駐しました。',$0d,$0a,0
  641. LR3:    .dc.b    ' 常駐解除しました。',$0d,$0a,0
  642. LR4:    .dc.b    ' ベクタが占領されています。',$0d,$0a,0
  643. LR5:    .dc.b    ' 既に常駐しています。',$0d,$0a,0
  644. LR5_:    .dc.b    ' 設定を変更しました。    ',$0d,$0a,0
  645. LR6:    .dc.b    ' コマンドラインが異常です。',$0d,$0a,0
  646. LR7:    .dc.b    ' スイッチが異常です。',$0d,$0a,0
  647. LR8:    .dc.b    ' 常駐していません。',$0d,$0a,0
  648. LRCN:    .dc.b    ' CONFIG.SYSで登録されています。',$0d,$0a
  649.     .dc.b    ' 常駐解除できません。',$0d,$0a,0
  650.     .even
  651. LRH:    .dc.b    $0d,$0a
  652.     .dc.b    '使用法:VJX270.x [switch] ',$0d,$0a
  653.     .dc.b    '    /D ・・・・・・・・ IOCS エミュ時、DMAC を使用しません。',$0d,$0a
  654.     *.dc.b    '    /A ・・・・・・・・ アクセス時 TIMER-LED を点灯させます。',$0d,$0a
  655.     .dc.b    '    /R ・・・・・・・・ 常駐解除します。',$0d,$0a
  656.     .dc.b    $0d,$0a
  657.     .dc.b    0
  658.     .even
  659. LR1:    .dc.b    'X68k <SCSI-TARGET> SCSI-VIRTUAL JX270 Version '
  660.     .dc.l    VER
  661.     .dc.b    ' Copyright 1999 TNB製作所'
  662. CRLF:    .dc.b    $0d,$0a,0
  663.     .even
  664.  
  665.     .bss
  666.  
  667.     .end    init
  668.  
  669.  
  670.  
  671.  
  672.